4 research outputs found
Polynomial-Time Fence Insertion for Structured Programs
To enhance performance, common processors feature relaxed memory models that reorder instructions. However, the correctness of concurrent programs is often dependent on the preservation of the program order of certain instructions. Thus, the instruction set architectures offer memory fences. Using fences is a subtle task with performance and correctness implications: using too few can compromise correctness and using too many can hinder performance. Thus, fence insertion algorithms that given the required program orders can automatically find the optimum fencing can enhance the ease of programming, reliability, and performance of concurrent programs. In this paper, we consider the class of programs with structured branch and loop statements and present a greedy and polynomial-time optimum fence insertion algorithm. The algorithm incrementally reduces fence insertion for a control-flow graph to fence insertion for a set of paths. In addition, we show that the minimum fence insertion problem with multiple types of fence instructions is NP-hard even for straight-line programs
The Augmentation-Speed Tradeoff for Consistent Network Updates
Emerging software-defined networking technologies enable more adaptive
communication infrastructures, allowing for quick reactions to changes in
networking requirements by exploiting the workload's temporal structure.
However, operating networks adaptively is algorithmically challenging, as
meeting networks' stringent dependability requirements relies on maintaining
basic consistency and performance properties, such as loop freedom and
congestion minimization, even during the update process. This paper leverages
an augmentation-speed tradeoff to significantly speed up consistent network
updates. We show that allowing for a small and short (hence practically
tolerable, e.g., using buffering) oversubscription of links allows us to solve
many network update instances much faster, as well as to reduce computational
complexities (i.e., the running times of the algorithms). We first explore this
tradeoff formally, revealing the computational complexity of scheduling
updates. We then present and analyze algorithms that maintain logical and
performance properties during the update. Using an extensive simulation study,
we find that the tradeoff is even more favorable in practice than our
analytical bounds suggest. In particular, we find that by allowing just 10%
augmentation, update times reduce by more than 32% on average, across a
spectrum of real-world networks
Probabilistic Smart Contracts: Secure Randomness on the Blockchain
International audienceIn today's programmable blockchains, smart contracts are limited to being deterministic and non-probabilistic. This lack of randomness is a consequential limitation, given that a wide variety of real-world financial contracts, such as casino games and lotteries, depend entirely on randomness. As a result, several ad-hoc random number generation approaches have been developed to be used in smart contracts. These include ideas such as using an oracle or relying on the block hash. However, these approaches are manipulatable, i.e. their output can be tampered with by parties who might not be neutral, such as the owner of the oracle or the miners. We propose a novel game-theoretic approach for generating provably unmanipulatable pseudorandom numbers on the block-chain. Our approach allows smart contracts to access a trustworthy source of randomness that does not rely on potentially compromised miners or oracles, hence enabling the creation of a new generation of smart contracts that are not limited to being non-probabilistic and can be drawn from the much more general class of probabilistic programs
Software-defined reconfigurable intelligent surfaces: from theory to end-to-end implementation
This work was supported in part by the European Union’s Horizon 2020 Research and Innovation Programme-Project C4IIoT under Grant EU833828 and in part by the European Research Council (ERC) under Grant Agreement 864228 (AdjustNet) (2020–2025).Summarization: Programmable wireless environments (PWEs) utilize internetworked intelligent metasurfaces to transform wireless propagation into a software-controlled resource. In this article, the interplay is explored between the user devices, the metasurfaces, and the PWE control system from the theory to the end-to-end implementation. This article first discusses the metasurface hardware and software, covering the complete workflow from the user device initialization to its final service via the PWE. Furthermore, to be compatible with the 5G and 6G wireless systems, the software-defined networking (SDN) paradigm is extended to achieve scalable internetworking and central control in PWE deployments with multiple metasurfaces and multihop communication. Subsequently, the set of SDN foundations is exploited in order to abstract the physics behind PWEs and a theoretical framework is established to describe and manipulate them in an algorithmic form. This can lead to smart radio environments that are readily accessible from various engineering disciplines, facilitating their integration into existing networks, wireless systems, and applications. This article is concluded by outlining strategies for the optimal placement of metasurfaces within a PWE-controlled space, open challenges in PWE security, specialized SDN integration issues, and theoretical problems toward the graph-driven modeling of PWEs.Presented on: Proceedings of the IEE